package com.itheima.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.common.result.Result;
import com.itheima.dto.CommonPageDTO;
import com.itheima.dto.UserDataListVo;
import com.itheima.dto.YddUserPageDTO;
import com.itheima.pojo.YddArticle;
import com.itheima.pojo.YddUser;

import java.util.Map;

public interface YddUserService extends IService<YddUser> {
    /**
     *
     * @param user
     * @return
     */
    Result login(YddUser user);

    /**
     * 获取用户数据
     * @return
     */
    Result getUserInfo();

    /**
     * 查询我的文章
     * @return
     */
    Result myArticle(CommonPageDTO dto);

    /**
     * 查询点赞和收藏
     * @param vo
     * @return
     */
    Result userDataList(UserDataListVo vo);

    /**
     * 点赞和取消点赞接口
     * @param map
     * @return
     */
    Result userDataHandle(Map map);

    /**
     * 文章删除
     * @param id
     * @return
     */
    Result delArticle(Integer id);

    /**
     * 添加文章
     * @param article
     * @return
     */
    Result addArticle(YddArticle article);

    /**
     * 修改文章
     * @param user
     * @return
     */
    Result editArticle(YddArticle user);

    /**
     * 修改用户
     * @param user
     * @return
     */
    Result updateUser(YddUser user);

    /**
     * 后台用户数据分页读取
     * @param dto
     * @return
     */
    Result userList(YddUserPageDTO dto);

    /**
     * 数据详情
     * @param id
     * @return
     */
    Result rowInfo(Integer id);

    /**
     * 用户添加
     * @param user
     * @return
     */
    Result add(YddUser user);

    /**
     * 用户修改
     * @param user
     * @return
     */
    Result yddUserUpdate(YddUser user);

    /**
     * 删除用户
     * @param id
     * @return
     */
    Result del(Integer id);
}
